/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package sigmacinema.service;

import java.util.List;
import sigmacinema.entity.Authorities;
import sigmacinema.entity.Customer;

import sigmacinema.entity.BookingDetail;
import sigmacinema.entity.BookingHeader;
import sigmacinema.entity.Hall;
import sigmacinema.entity.Movie;
import sigmacinema.entity.PaymentDetail;
import sigmacinema.entity.PaymentHeader;
import sigmacinema.entity.Schedule;
import sigmacinema.entity.Seat;
import sigmacinema.entity.Ticket;
import sigmacinema.entity.User;

/**
 *
 * @author sangaji
 */

public interface SigmaCinemaService {
    
    //Movie
    public void saveMovie(Movie movie);
    public void deleteMovie(Movie movie);
    public List<Movie> FindAllMovie();
    public Movie FindMovieByKode(Integer kode);
    
    //Hall
    public List<Hall> FindAllHall();
    public void saveHall(Hall hall);
    public void deleteHall(Hall hall);
    public Hall findHallById (String id);
    
    //Seat
    public List<Seat> findAllSeat();
    public void saveSeat(Seat seat);
    public void deleteSeat(Seat seat);
    public Seat findSeatById (Integer id);

    
    //Schedule
    public List<Schedule> findAllSchedule();
    public void saveSchedule(Schedule schedule);
    public void deleteSchedule(Schedule schedule);
    public Schedule findScheduleById(Integer id);
    
    //Ticket
    public List<Ticket> findAllTicket();
    public void saveTicket (Ticket ticket);
    public void deleteTicket(Ticket ticket);
    public Ticket findTicketById(Integer id);
    
    //Customer
    public void saveCustomer(User user);
    public void delCustomer(Customer customer);
    public List<Customer> findAllCustomer();
    public List<Customer> findCustomerByName(String name);
    public Customer findCustomerById(Integer id);
    
    //User
    public User findUserByUsername(String username);
    
    //Authorities
    public void saveAuthorities(Authorities auth);
    public void deleteAuthorities(Authorities auth);
    
    //Booking Transaction
    public List<BookingHeader> findAllBH();
    public void saveBooking (BookingHeader bookingHeader);
    public BookingHeader findBhById(String id);
    public List<BookingDetail> findBdetailByIdBheader(String id);
    
    //payment
    public List<PaymentHeader> findAllPayH();
    public void savePayment (PaymentHeader paymentHeader);
    public PaymentHeader findPayHById(String id);
    public List<PaymentDetail> findPayDByPayHId(String id);
}
